package com.kotlin.customview;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.util.AttributeSet;
import android.view.View;

import androidx.annotation.Nullable;

/**
 * author : zhouyouqiang
 * e-mail : 1638473898@qq.com
 * date   : 2022/3/22 9:30
 * desc   : 绘制路径
 * version: 1.0
 */
public class CustomPath extends View {

    public CustomPath(Context context) {
        super(context);
    }

    public CustomPath(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
    }

    public CustomPath(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    public CustomPath(Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) {
        super(context, attrs, defStyleAttr, defStyleRes);
    }

    //创建画笔
    Paint paint = new Paint();
    Path path = new Path();

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        //设置显示样式 实心 还是 空心
        paint.setStyle(Paint.Style.STROKE);
        //设置绘制颜色
        paint.setColor(Color.parseColor("#000000"));
        //设置线条宽度
        paint.setStrokeWidth(3);
        //设置抗锯齿开关
        paint.setAntiAlias(true);

//        //绘制一个圆
//        path.addCircle(300, 300, 200, Path.Direction.CW);

//        path.lineTo(100, 100); // 由当前位置 (0, 0) 向 (100, 100) 画一条直线
//        path.rLineTo(100, 0); // 由当前位置 (100, 100) 向正右方 100 像素的位置画一条直线
//        path.lineTo(300,0);

//        path.lineTo(100, 100); // 画斜线
//        path.moveTo(200, 100); // 我移~~
//        path.lineTo(200, 0); // 画竖线

        path.lineTo(100, 100);
        path.arcTo(100, 100, 300, 300, -90, 90, false); // 强制移动到弧形起点（无痕迹）
        canvas.drawPath(path,paint);
    }
}
